home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
OCEStandardDirectory.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
7KB
|
215 lines
/*
File: OCEStandardDirectory.idl
Contains: Apple Open Collaboration Environment Standard Directory Interfaces.
Version: Technology: AOCE Toolbox 1.02
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __OCESTANDARDDIRECTORY_IDL__
#define __OCESTANDARDDIRECTORY_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __ICONS_IDL__
#include <Icons.idl>
#endif
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __WINDOWS_IDL__
#include <Windows.idl>
#endif
#ifndef __OCE_IDL__
#include <OCE.idl>
#endif
#ifndef __OCEAUTHDIR_IDL__
#include <OCEAuthDir.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_ONLY
/* Collaboration Package Gestalts. */
#endif
#if FOR_SYSTEM7_ONLY
/* Prompt For Identity structures */
/* Values of SDPIdentityKind */
typedef unsigned short SDPIdentityKind;
typedef unsigned short SDPLoginFilterKind;
/* Panel Structures */
/*
While the panel is in operation, four selection states may exist.
1) kSDPNothingSelected means nothing is selected.
2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
3) kSDPLockedContainerSelected means one of the above, but no access privledges.
4) kSDPRecordSelected means that a record is currently selected.
*/
/* Values of SDPSelectionState */
typedef unsigned short SDPSelectionState;
/*
This type informs the caller of the action the user took, either as the result
of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
state change.
kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
record. This is returned, for example, when a user double-clicks on a record.
kSDPChangedSelection implies that the user clicked on a new item (which may mean
that no item is selected).
*/
/* Values of SDPPanelState */
typedef unsigned short SDPPanelState;
/*
Your application may read any of the fields in a SDPPanelRecord, but it should
use the appropriate routines to make changes to the records with the exception
of the refCon field which your application may read or write at will. Private
information follows the SDPPanelRecord, so the handle must not be re-sized.
*/
typedef SOMLargeStruct SDPPanelRecord; /* Derived from a struct of 42 bytes in size */
typedef OpaquePtr SDPPanelPtr; /* Substituted OpaquePtr for ``SDPPanelRecord*'' */
typedef OpaquePtr SDPPanelHandle; /* Substituted OpaquePtr for ``SDPPanelPtr*'' */
typedef OpaquePtr PanelBusyProcPtr;
typedef OpaquePtr PanelBusyUPP;
typedef PanelBusyUPP PanelBusyProc;
/* Find Panel Structures */
/* Values of SDPFindPanelState */
typedef unsigned short SDPFindPanelState;
/* Values of SDPFindPanelFocus */
typedef unsigned short SDPFindPanelFocus;
typedef SOMLargeStruct SDPFindPanelRecord; /* Derived from a struct of 20 bytes in size */
typedef OpaquePtr SDPFindPanelPtr; /* Substituted OpaquePtr for ``SDPFindPanelRecord*'' */
typedef OpaquePtr SDPFindPanelHandle; /* Substituted OpaquePtr for ``SDPFindPanelPtr*'' */
/* Values of SDPFindPanelResult */
typedef unsigned short SDPFindPanelResult;
typedef OpaquePtr PackedRStringListHandle; /* Substituted OpaquePtr for ``PackedPathNamePtr*'' */
typedef OpaquePtr FindPanelBusyProcPtr;
typedef OpaquePtr FindPanelBusyUPP;
typedef FindPanelBusyUPP FindPanelBusyProc;
/* Prompt For Identity Routines */
/*
SDPNewPanel creates a new panel. You supply the window in which the panel
is to live, the bounds for the panel (which includes both the menu and the list),
whether or not the panel is to be initially visible, the initial RLI (nil for
catalogs and volumes), the types of records that will be shown (only a single
(non-nil) type which may contain wildcards), the identity by which to browse
(for access control reasons), and a refCon which is available to the caller.
*/
/*
SDPSetIdentity Sets the identity used for browsing. NOTE: This call is likely to go
away if the new authentication scheme works.
*/
/*
SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
'panl' resource.
*/
/*
Call this when you're completely done with a panel. It deallocates all of the
associated data structures.
*/
/*
If the panel is visible, it makes it invisible by hiding the menu, turning off
drawing of the list, and erasing and invaling the list's rectangle.
*/
/* If the panel is invisible, it makes it visible and draws it. */
/* Disables the list and menu so that it won't accept any commands. */
/*
Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
the panel's window.
*/
/*
Resizes the panel to have the given width and height (keeping the upper-left-hand
corner in a fixed position).
*/
/*
This routine simulates a double-click on the selected item (if there is no selected
item, then it does nothing), and it returns the result of that "double-click" via the
whatHappened parameter. If a container is selected, then that container will be
opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
level in the hierarchy, then kSDPSelectedAnItem is returned.
*/
/*
Returns whether a record is selected, something else is selected, or nothing is
selected.
*/
/*
Returns the size of the currently-selected DSSpec, or zero if a record is
not selected. It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
*/
/*
Returns the currently-selected DSSpec, or a zero-lengthed
DSSpec if a record is not selected. It is assumed that the selection
buffer allocated is large enough.
*/
/*
Forces browsing to the specified RLI. If prli is the current RLI, then it does
nothing.
*/
/*
This is the main driver for the panel. You should pass all events to SDPPanelEvent
including NULL events. If you have more than 1 panel, you will need to
call SDPPanelEvent for each panel. NOTE: For Update Events you will also need to call
SDPUpdatePanel as described below.
*/
/*
SDPUpdatePanel should be called in response to an update event. Generally you will
have first called BeginUpdate, and pass the windows visRgn as theRgn. If NULL
is passed for theRgn the entire panel is re-drawn. NOTE: Drawing is not cliped to
theRgn, if this is desired, you must first call SetClip.
*/
/*
SDPSelectString scrolls and selects the closest matching string at the current
level. This is the same behavior as if the user typed in the given string.
*/
/*
SDPGetPathLength returns the length in bytes required to hold the current path name
in RLI format. This corresponds to the path name in the popup menu.
*/
/* SDPGetPath returns the current rli. */
/*
SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
the focus boolean.
*/
/*
SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for
balloon help. Balloon help is unavailable until this call is made.
*/
/*
SDPInstallPanelBusyProc allows clients to install a CB that will be called while
the panel is aynchronously busy.
*/
#endif
#endif /* __SOMIDL__ */
#endif /* __OCESTANDARDDIRECTORY_IDL__ */